// pages/bbhj_me/bbhj_me.js
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
import Notify from '../../miniprogram_npm/@vant/weapp/notify/notify';
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {},
    hasUserInfo: false,
    canIUseGetUserProfile: false,
    icon_size: '50rpx'
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    console.log(e);
    wx.getUserProfile({
      desc: '获取用户信息，将查询结果保存在微信小程序数据库', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        });
        this.onGotUserInfo();
        console.log('获取用户信息成功');
      }
    });

  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    });
    this.onGotUserInfo();
  },
  testtouch: function (e) {
    console.log(e);
  },
  onGotUserInfo: function () {
    wx.cloud.callFunction({
      name: "login",
      success: res => {
        console.log("云函数调用成功，拿到openid");
        console.log('openid为', res.result.openid)
        app.globalData.openid = res.result.openid;
        this.uploadLocalReport();
      },
      fail: res => {
        console.log("云函数调用失败")
      }
    })

  },

  uploadLocalReport() {
    // 如果有本地报告，帮你上传到云端
    if (app.globalData.local_report) {
      var report = app.globalData.local_report;
      console.log('上传云服务器');
      const db = wx.cloud.database();
      db.collection('bbhj').add({
        data: {
          report: JSON.stringify(report)
        },
        success: res => {
          // 在返回结果中会包含新创建的记录的 _id
          report._id = res._id;
          Notify({
            type: 'success',
            message: '本地报告上传成功',
            duration: 1000
          });
          Toast.success({
            message: '检测到本地报告，已将结果保存到云端',
            forbidClick: true,
          });
          console.log('[数据库] [新增记录] 成功，记录 _id: ', res._id)
        },
        fail: err => {
          Notify({
            type: 'danger',
            message: '网络异常',
            duration: 1000
          });
          Toast.success({
            message: '预测成功，结果保存到本地',
            forbidClick: true,
          });
          var local_report = report;
          local_report._id = 'local_report';

          that.setData({
            have_local_report: true,
            local_report: local_report
          })
          console.error('[数据库] [新增记录] 失败：', err)
        }
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 这里是新的规则登陆用的，但是好像不起作用md
    // if (wx.getUserProfile) {
    //   this.setData({
    //     canIUseGetUserProfile: true
    //   })
    // console.log('是否可以调用GetUserProfile方法',this.data.canIUseGetUserProfile);
    // }
  },

  onShow: function (options) {
    this.getTabBar().init();
  }

})